Jason Colomay's profile

Game Engine C++ OpenGL2.0/DirectX9

V-ENGINE WIP

Contexte: en tant que jeune auto-entrepreneur, j'ai décidé de concevoir mon propre moteur de jeu basé sur DirectX11 "fait maison" pour ne plus être dépendant des logiciels 3D actuels en place sur le marché tels que Unity3D. Actuellement, il s'agit d'un WIP (work in progress), la portabilité n'a pas encore été effectuée de directX9 à directX11. L'application prend en charge actuellement uniquement DirectX9 et OpenGL et tourne sur Windows 10/11 uniquement.

Mission : conception d'un moteur de jeu "from scratch" en vue de pouvoir déployer le projet sur Xbox et Windows 10/11 avec le kit d'environnement UWP et Visual Studio. Les différentes couches logiciels qui composent mon moteur ont été écrites en C++ et sont les suivantes:
Création de composants logiciels afin de gérer l'affichage (le rendu), le moteur pour la création d'outils mathématique (vecteurs, matrices, quaternions, transformations), le moteur qui gère les callbacks (IHM) afin qu'une action se déclenche lorsque l'utilisateur appuie sur un bouton, le moteur de collision-détection avec la création de boundingbox et boundingsphere selon le mode AABB afin que les objets ne pénètrent pas les uns dans les autres, certaines fonctionnalités physiques comme le rigidbody (les forces, la gravitation...). 
J'attire l'attention sur la création d'un convertisseur de données que j'ai écrit en C++ pour lire des fichiers .obj. Mon convertisseur prend en charge la lecture des vertex, faces, normales, textures, UVS, matériaux, mesh collisions depuis un modeleur 3D. Ce convertisseur a été réutilisé dans tous les projets que je cite ci-dessous.  
Création d'un mini langage de programmation (langage descriptif) au sein même de mon application pour permettre à l'utilisateur de concevoir un jeu et lui éviter de passer par le mode graphique pour effectuer des opérations sur les entités graphiques.

Technologies utilisées: Devc++ comme outil de développement, langage C et C++, OpenGL2.0 et DirectX9 comme API graphique, OS: Windows 10

V-ENGINE Mode d'emploi:
moteur de jeux vidéo assez complet! Idéal pour créer des petits jeux de voitures ou RPG... Assez simple d'utilisation!
Explication tuto vidéo modélisation:


Ce moteur est doté d'une interface composée de 4 fenêtres : une vue de dessus, une vue avant, une vue de côté et une vue perspective.

Possibilité de se déplacer dans n'importe quelle vue grâce au curseur disponible dans les 4 vues et simple à manipuler:

Vous pouvez ajouter des primitives grâce à l'outil de menu de sélection en faisant clique droit de la souris.
Pour ajouter une primitive presser le bouton add primitive, et vous verrez une teapot, un cube, une sphère, un torus ou encore un véhicule ou même un personnage déjà modélisé:

Possibilité de créer un configurateur de route grâce à des objets procéduraux (des routes) déjà modélisés:

Vous pouvez bien évidemment changer la couleur de l'ecran ou bien ajouter une simple skybox déjà pré-configurée:


Possibilité de supprimer un objet avec l'outil delete object:

Vous pouvez déplacer, faire des rotations ou changement d'échelle sur n'importe quel objet à l'exception de certains...
Pour cela utiliser l'outil de translation, rotation et échelle, vous pouvez contraindre le déplacement, la rotation en x,y,z ou faire les 3 simultanément.
Il est possible de modifier la couleur d'un objet de type primitif comme le cube ou la teapot en allant dans le menu couleur:

Il est possible également de changer de mode de projection, en passant du mode orthographique au mode perspective:

Et une dernière possiblité d'ajouter du brouillard pour donner plus de réalisme à votre jeu: (menu add fog). Vous pouvez régler la densité, la distance du brouillard (début et fin). Attention à ne pas oublier d'activer le brouillard pour utiliser cette fonction et de la désactiver lorsqu'on en a plus besoin:
Il est possible d'ajouter d'autres entités dans le jeu tel que des boudingbox pour ne pas que les objets entrent en collision les uns entre les autres:

Il est également possible d'ajouter d'autres entités telles que des boundingbox pour ne pas que vos objets rentrent en collision:

Vous pouvez bien entendu déplacer l'entité, changer l'échelle mais pas faire de rotations, cette fonction est inutlisable dans le moteur de jeu V-Engine.
Enfin, vous pouvez naturellement tester notre moteur physique pour déplacer notre véhicule en temps-réel,  créer un univers comme vous en avez envie, je reste disponible pour toute question technique:
jason.colomay@gmail.com
Le moteur n'est pas completement abouti, il y a des bugs encore, mais c'est assez simple d'utilisation!!!
Amusez-vous bien!



Game Engine C++ OpenGL2.0/DirectX9
Published:

Game Engine C++ OpenGL2.0/DirectX9

Published: